//-----------------------------------------------------------------------
// <copyright file="IUser.cs" company="Rhys Parry">
//    Copyright Rhys Parry 2009
//    This file is released under the Apache 2.0 License
// </copyright>
//-----------------------------------------------------------------------
namespace Smarts.Services.Twitter
{
    using System;
    using System.Collections.Generic;

    public interface IUser
    {
        IEnumerable<IStatus> FriendsTimeline { get; }
        IEnumerable<IStatus> UserTimeline { get; }
        IEnumerable<IStatus> Mentions { get; }
        IEnumerable<IUser> Friends { get; }
        IEnumerable<IUser> Followers { get; }
        IEnumerable<Status> Favorites { get; }

        long Id { get; }
        string Name { get; set; }
        string ScreenName { get; }
        string Location { get; set; }
        string Description { get; set; }
        Uri ProfileImageUri { get; }
        Uri Url { get; set; }
        bool Protected { get; }
        long FollowersCount { get; }
        long FriendsCount { get; }
        DateTime CreatedAt { get; }
        long FavoritesCount { get; }
        TimeZone TimeZone { get; }
        Uri ProfileBackgroundImageUri { get; }
        bool Notifications { get; set; }
        bool Following { get; set; }
        long StatusesCount { get; set; }

        void Connect(TwitterContext twitterContext);
    }
}